Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt
Class Rectangle

    java.lang.Object
      |
      +--java.awt.geom.RectangularShape
            |
            +--java.awt.geom.Rectangle2D
                  |
                  +--java.awt.Rectangle

All Implemented Interfaces:
  Cloneable, Serializable, Shape

Direct Known Subclasses:
  DefaultCaret

public class Rectangle
extends Rectangle2D
implements Shape, Serializable

A `Rectangle` specifies an area in a coordinate space that is enclosed by the `Rectangle` object's top-left point (x, y) in the coordinate space, its width, and its height.

A `Rectangle` object's `width` and `height` are `public` fields. The constructors that create a `Rectangle`, and the methods that can modify one, do not prevent setting a negative value for width or height.

A `Rectangle` whose width or height is negative is considered empty. If the `Rectangle` is empty, then the `isEmpty` method returns `true`. No point can be contained by or inside an empty `Rectangle`. The values of `width` and `height`, however, are still valid. An empty `Rectangle` still has a location in the coordinate space, and methods that change its size or location remain valid. The behavior of methods that operate on more than one `Rectangle` is undefined if any of the participating `Rectangle` objects has a negative `width` or `height`. These methods include `intersects`, `intersection`, and `union`.

Since:
  JDK1.0
See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class java.awt.geom.Rectangle2D
`Rectangle2D.Double, Rectangle2D.Float`

Field Summary
`int` | `height` The height of the `Rectangle`.
`int` | `width` The width of the `Rectangle`.
`int` | `x` The x coordinate of the `Rectangle`.
`int` | `y` The y coordinate of the `Rectangle`.

Fields inherited from class java.awt.geom.Rectangle2D
`OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP`

Constructor Summary
`Rectangle()` Constructs a new `Rectangle` whose top-left corner is at (0, 0) in the coordinate space, and whose width and height are both zero.
`Rectangle(Dimension d)` Constructs a new `Rectangle` whose top left corner is (0, 0) and whose width and height are specified by the `Dimension` argument.
`Rectangle(int width, int height)` Constructs a new `Rectangle` whose top-left corner is at (0, 0) in the coordinate space, and whose width and height are specified by the arguments of the same name.
`Rectangle(int x, int y, int width, int height)` Constructs a new `Rectangle` whose top-left corner is specified as (`x`, `y`) and whose width and height are specified by the arguments of the same name.
`Rectangle(Point p)` Constructs a new `Rectangle` whose top-left corner is the specified `Point`, and whose width and height are both zero.
`Rectangle(Point p, Dimension d)` Constructs a new `Rectangle` whose top-left corner is specified by the `Point` argument, and whose width and height are specified by the `Dimension` argument.
`Rectangle(Rectangle r)` Constructs a new `Rectangle`, initialized to match the values of the specified `Rectangle`.

Method Summary
`void` | `add(int newx, int newy)` Adds a point, specified by the integer arguments `newx` and `newy`, to this `Rectangle`.
`void` | `add(Point pt)` Adds the specified `Point` to this `Rectangle`.
`void` | `add(Rectangle r)` Adds a `Rectangle` to this `Rectangle`.
`boolean` | `contains(int x, int y)` Checks whether or not this `Rectangle` contains the point at the specified location (x, y).
`boolean` | `contains(int X, int Y, int W, int H)` Checks whether this `Rectangle` entirely contains the `Rectangle` at the specified location (X, Y) with the specified dimensions (W, H).
`boolean` | `contains(Point p)` Checks whether or not this `Rectangle` contains the specified `Point`.
`boolean` | `contains(Rectangle r)` Checks whether or not this `Rectangle` entirely contains the specified `Rectangle`.
`Rectangle2D` | `createIntersection(Rectangle2D r)` Returns a new `Rectangle2D` object representing the intersection of this `Rectangle` with the specified `Rectangle2D`.
`Rectangle2D` | `createUnion(Rectangle2D r)` Returns a new `Rectangle2D` object representing the union of this `Rectangle` with the specified `Rectangle2D`.
`boolean` | `equals(Object obj)` Checks whether two rectangles are equal.
`Rectangle` | `getBounds()` Gets the bounding `Rectangle` of this `Rectangle`.
`Rectangle2D` | `getBounds2D()` Return the high precision bounding box of this rectangle.
`double` | `getHeight()` Returns the height of the bounding `Rectangle` in `double` precision.
`Point` | `getLocation()` Returns the location of this `Rectangle`.
`Dimension` | `getSize()` Gets the size of this `Rectangle`, represented by the returned `Dimension`.
`double` | `getWidth()` Returns the width of the bounding `Rectangle` in `double` precision.
`double` | `getX()` Returns the X coordinate of the bounding `Rectangle` in `double` precision.
`double` | `getY()` Returns the Y coordinate of the bounding `Rectangle` in `double` precision.
`void` | `grow(int h, int v)` Resizes the `Rectangle` both horizontally and vertically.
`boolean` | `inside(int X, int Y)` Deprecated. As of JDK version 1.1, replaced by `contains(int, int)`.
`Rectangle` | `intersection(Rectangle r)` Computes the intersection of this `Rectangle` with the specified `Rectangle`.
`boolean` | `intersects(Rectangle r)` Determines whether or not this `Rectangle` and the specified `Rectangle` intersect.
`boolean` | `isEmpty()` Determines whether or not this `Rectangle` is empty.
`void` | `move(int x, int y)` Deprecated. As of JDK version 1.1, replaced by `setLocation(int, int)`.
`int` | `outcode(double x, double y)` Determines where the specified coordinates lie with respect to this `Rectangle`.
`void` | `reshape(int x, int y, int width, int height)` Deprecated. As of JDK version 1.1, replaced by `setBounds(int, int, int, int)`.
`void` | `resize(int width, int height)` Deprecated. As of JDK version 1.1, replaced by `setSize(int, int)`.
`void` | `setBounds(int x, int y, int width, int height)` Sets the bounding `Rectangle` of this `Rectangle` to the specified `x`, `y`, `width`, and `height`.
`void` | `setBounds(Rectangle r)` Sets the bounding `Rectangle` of this `Rectangle` to match the specified `Rectangle`.
`void` | `setLocation(int x, int y)` Moves this `Rectangle` to the specified location.
`void` | `setLocation(Point p)` Moves this `Rectangle` to the specified location.
`void` | `setRect(double x, double y, double width, double height)` Sets the bounds of this `Rectangle` to the specified `x`, `y`, `width`, and `height`.
`void` | `setSize(Dimension d)` Sets the size of this `Rectangle` to match the specified `Dimension`.
`void` | `setSize(int width, int height)` Sets the size of this `Rectangle` to the specified width and height.
`String` | `toString()` Returns a `String` representing this `Rectangle` and its values.
`void` | `translate(int x, int y)` Translates this `Rectangle` the indicated distance, to the right along the x coordinate axis, and downward along the y coordinate axis.
`Rectangle` | `union(Rectangle r)` Computes the union of this `Rectangle` with the specified `Rectangle`.

Methods inherited from class java.awt.geom.Rectangle2D
`add, add, add, contains, contains, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, setRect, union`

Methods inherited from class java.awt.geom.RectangularShape
`clone, contains, contains, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.awt.Shape
`contains, contains, contains, contains, getPathIterator, getPathIterator, intersects, intersects`

Field Detail

### x

    public int x

  The x coordinate of the `Rectangle`.

  See Also:
    `setLocation(int, int)`, `getLocation()`

### y

    public int y

  The y coordinate of the `Rectangle`.

  See Also:
    `setLocation(int, int)`, `getLocation()`

### width

    public int width

  The width of the `Rectangle`.

  Since:
    JDK1.0.
See Also:
  `setSize(int, int)`, `getSize()`

### height

    public int height

  The height of the `Rectangle`.

  See Also:
    `setSize(int, int)`, `getSize()`

Constructor Detail

### Rectangle

    public Rectangle()

  Constructs a new `Rectangle` whose top-left corner is at (0, 0) in the coordinate space, and whose width and height are both zero.

### Rectangle

    public Rectangle(Rectangle r)

  Constructs a new `Rectangle`, initialized to match the values of the specified `Rectangle`.

Parameters:
  `r` - the `Rectangle` from which to copy initial values to a newly constructed `Rectangle`
Since:
  JDK1.1

### Rectangle

    public Rectangle(int x,
                     int y,
                     int width,
                     int height)

  Constructs a new `Rectangle` whose top-left corner is specified as (`x`, `y`) and whose width and height are specified by the arguments of the same name.

Parameters:
  `width` - the width of the `Rectangle`
  `height` - the height of the `Rectangle`

### Rectangle

    public Rectangle(int width,
                     int height)

  Constructs a new `Rectangle` whose top-left corner is at (0, 0) in the coordinate space, and whose width and height are specified by the arguments of the same name.

Parameters:
  `width` - the width of the `Rectangle`
  `height` - the height of the `Rectangle`

### Rectangle

    public Rectangle(Point p,
                     Dimension d)

  Constructs a new `Rectangle` whose top-left corner is specified by the `Point` argument, and whose width and height are specified by the `Dimension` argument.

Parameters:
  `p` - a `Point` that is the top-left corner of the `Rectangle`
  `d` - a `Dimension`, representing the width and height of the `Rectangle`

### Rectangle

    public Rectangle(Point p)

  Constructs a new `Rectangle` whose top-left corner is the specified `Point`, and whose width and height are both zero.

Parameters:
  `p` - a `Point` that is the top left corner of the `Rectangle`

### Rectangle

    public Rectangle(Dimension d)

  Constructs a new `Rectangle` whose top left corner is (0, 0) and whose width and height are specified by the `Dimension` argument.

Parameters:
  `d` - a `Dimension`, specifying width and height

Method Detail

### getX

    public double getX()

  Returns the X coordinate of the bounding `Rectangle` in `double` precision.

  Specified by:
    `getX` in class `RectangularShape`
  Returns:
    the x coordinate of the bounding `Rectangle`.

### getY

    public double getY()

  Returns the Y coordinate of the bounding `Rectangle` in `double` precision.

  Specified by:
    `getY` in class `RectangularShape`
  Returns:
    the y coordinate of the bounding `Rectangle`.

### getWidth

    public double getWidth()

  Returns the width of the bounding `Rectangle` in `double` precision.

  Specified by:
    `getWidth` in class `RectangularShape`
  Returns:
    the width of the bounding `Rectangle`.

### getHeight

    public double getHeight()

  Returns the height of the bounding `Rectangle` in `double` precision.

  Specified by:
    `getHeight` in class `RectangularShape`
  Returns:
    the height of the bounding `Rectangle`.

### getBounds

    public Rectangle getBounds()

  Gets the bounding `Rectangle` of this `Rectangle`.

  This method is included for completeness, to parallel the `getBounds` method of `Component`.

  Specified by:
    `getBounds` in interface `Shape`
  Overrides:
    `getBounds` in class `RectangularShape`
  Returns:
    a new `Rectangle`, equal to the bounding `Rectangle` for this `Rectangle`.
  Since:
    JDK1.1
See Also:
  `Component.getBounds()`, `setBounds(Rectangle)`, `setBounds(int, int, int, int)`

### getBounds2D

    public Rectangle2D getBounds2D()

  Return the high precision bounding box of this rectangle.

  Specified by:
    `getBounds2D` in interface `Shape`
  Overrides:
    `getBounds2D` in class `Rectangle2D`
  Returns:
    an instance of `Rectangle2D` that is a high-precision bounding box of the `Shape`.
  Since:
    1.2
See Also:
  `Shape.getBounds()`

### setBounds

    public void setBounds(Rectangle r)

  Sets the bounding `Rectangle` of this `Rectangle` to match the specified `Rectangle`.

  This method is included for completeness, to parallel the `setBounds` method of `Component`.

  Parameters:
    `r` - the specified `Rectangle`
  Since:
    JDK1.1
See Also:
  `getBounds()`, `Component.setBounds(java.awt.Rectangle)`

### setBounds

    public void setBounds(int x,
                          int y,
                          int width,
                          int height)

  Sets the bounding `Rectangle` of this `Rectangle` to the specified `x`, `y`, `width`, and `height`.

  This method is included for completeness, to parallel the `setBounds` method of `Component`.

  Parameters:
    `width` - the new width for this `Rectangle`
    `height` - the new height for this `Rectangle`
  Since:
    JDK1.1
See Also:
  `getBounds()`, `Component.setBounds(int, int, int, int)`

### setRect

    public void setRect(double x,
                        double y,
                        double width,
                        double height)

  Sets the bounds of this `Rectangle` to the specified `x`, `y`, `width`, and `height`. This method is included for completeness, to parallel the `setBounds` method of `Component`.

  Specified by:
    `setRect` in class `Rectangle2D`
  Parameters:
    `width` - the new width for the `Dimension` object
    `height` - the new height for the `Dimension` object

### reshape

    public void reshape(int x,
                        int y,
                        int width,
                        int height)

  Deprecated. As of JDK version 1.1, replaced by `setBounds(int, int, int, int)`.

  Sets the bounding `Rectangle` of this `Rectangle` to the specified `x`, `y`, `width`, and `height`.

  Parameters:
    `width` - the new width for this `Rectangle`
    `height` - the new height for this `Rectangle`

### getLocation

    public Point getLocation()

  Returns the location of this `Rectangle`.

  This method is included for completeness, to parallel the `getLocation` method of `Component`.

  Returns:
    the `Point` that is the top-left corner of this `Rectangle`.
  Since:
    JDK1.1
See Also:
  `Component.getLocation()`, `setLocation(Point)`, `setLocation(int, int)`

### setLocation

    public void setLocation(Point p)

  Moves this `Rectangle` to the specified location.

  This method is included for completeness, to parallel the `setLocation` method of `Component`.

  Parameters:
    `p` - the `Point` specifying the new location for this `Rectangle`
  Since:
    JDK1.1
See Also:
  `Component.setLocation(java.awt.Point)`, `getLocation()`

### setLocation

    public void setLocation(int x,
                            int y)

  Moves this `Rectangle` to the specified location.

  This method is included for completeness, to parallel the `setLocation` method of `Component`.

  Since:
    JDK1.1
See Also:
  `getLocation()`, `Component.setLocation(int, int)`

### move

    public void move(int x,
                     int y)

  Deprecated. As of JDK version 1.1, replaced by `setLocation(int, int)`.

  Moves this `Rectangle` to the specified location.

### translate

    public void translate(int x,
                          int y)

  Translates this `Rectangle` the indicated distance, to the right along the x coordinate axis, and downward along the y coordinate axis.

  Parameters:
    `x` - the distance to move this `Rectangle` along the x axis
    `y` - the distance to move this `Rectangle` along the y axis
  See Also:
    `setLocation(int, int)`, `setLocation(java.awt.Point)`

### getSize

    public Dimension getSize()

  Gets the size of this `Rectangle`, represented by the returned `Dimension`.

  This method is included for completeness, to parallel the `getSize` method of `Component`.

  Returns:
    a `Dimension`, representing the size of this `Rectangle`.
  Since:
    JDK1.1
See Also:
  `Component.getSize()`, `setSize(Dimension)`, `setSize(int, int)`

### setSize

    public void setSize(Dimension d)

  Sets the size of this `Rectangle` to match the specified `Dimension`.

  This method is included for completeness, to parallel the `setSize` method of `Component`.

  Parameters:
    `d` - the new size for the `Dimension` object
  Since:
    JDK1.1
See Also:
  `Component.setSize(java.awt.Dimension)`, `getSize()`

### setSize

    public void setSize(int width,
                        int height)

  Sets the size of this `Rectangle` to the specified width and height.

  This method is included for completeness, to parallel the `setSize` method of `Component`.

  Parameters:
    `width` - the new width for this `Rectangle`
    `height` - the new height for this `Rectangle`
  Since:
    JDK1.1
See Also:
  `Component.setSize(int, int)`, `getSize()`

### resize

    public void resize(int width,
                       int height)

  Deprecated. As of JDK version 1.1, replaced by `setSize(int, int)`.

  Sets the size of this `Rectangle` to the specified width and height.

  Parameters:
    `width` - the new width for this `Rectangle`
    `height` - the new height for this `Rectangle`

### contains

    public boolean contains(Point p)

  Checks whether or not this `Rectangle` contains the specified `Point`.

  Parameters:
    `p` - the `Point` to test
  Returns:
    `true` if the `Point` (x, y) is inside this `Rectangle`; `false` otherwise.
  Since:
    JDK1.1

### contains

    public boolean contains(int x,
                            int y)

  Checks whether or not this `Rectangle` contains the point at the specified location (x, y).

  Returns:
    `true` if the point (x, y) is inside this `Rectangle`; `false` otherwise.
  Since:
    JDK1.1

### contains

    public boolean contains(Rectangle r)

  Checks whether or not this `Rectangle` entirely contains the specified `Rectangle`.

  Parameters:
    `r` - the specified `Rectangle`
  Returns:
    `true` if the `Rectangle` is contained entirely inside this `Rectangle`; `false` otherwise.
  Since:
    JDK1.1

### contains

    public boolean contains(int X,
                            int Y,
                            int W,
                            int H)

  Checks whether this `Rectangle` entirely contains the `Rectangle` at the specified location (X, Y) with the specified dimensions (W, H).

  Parameters:
    `W` - the width of the `Rectangle`
    `H` - the height of the `Rectangle`
  Returns:
    `true` if the `Rectangle` specified by (X, Y, W, H) is entirely enclosed inside this `Rectangle`; `false` otherwise.
  Since:
    JDK1.1

### inside

    public boolean inside(int X,
                          int Y)

  Deprecated. As of JDK version 1.1, replaced by `contains(int, int)`.

  Checks whether or not this `Rectangle` contains the point at the specified location (X, Y).

  Returns:
    `true` if the point (X, Y) is inside this `Rectangle`; `false` otherwise.

### intersects

    public boolean intersects(Rectangle r)

  Determines whether or not this `Rectangle` and the specified `Rectangle` intersect. Two rectangles intersect if their intersection is nonempty.

  Parameters:
    `r` - the specified `Rectangle`
  Returns:
    `true` if the specified `Rectangle` and this `Rectangle` intersect; `false` otherwise.

### intersection

    public Rectangle intersection(Rectangle r)

  Computes the intersection of this `Rectangle` with the specified `Rectangle`. Returns a new `Rectangle` that represents the intersection of the two rectangles. If the two rectangles do not intersect, the result will be an empty rectangle.

  Parameters:
    `r` - the specified `Rectangle`
  Returns:
    the largest `Rectangle` contained in both the specified `Rectangle` and in this `Rectangle`; or if the rectangles do not intersect, an empty rectangle.

### union

    public Rectangle union(Rectangle r)

  Computes the union of this `Rectangle` with the specified `Rectangle`. Returns a new `Rectangle` that represents the union of the two rectangles

  Parameters:
    `r` - the specified `Rectangle`
  Returns:
    the smallest `Rectangle` containing both the specified `Rectangle` and this `Rectangle`.

### add

    public void add(int newx,
                    int newy)

  Adds a point, specified by the integer arguments `newx` and `newy`, to this `Rectangle`. The resulting `Rectangle` is the smallest `Rectangle` that contains both the original `Rectangle` and the specified point.

  After adding a point, a call to `contains` with the added point as an argument does not necessarily return `true`. The `contains` method does not return `true` for points on the right or bottom edges of a `Rectangle`. Therefore, if the added point falls on the right or bottom edge of the enlarged `Rectangle`, `contains` returns `false` for that point.

### add

    public void add(Point pt)

  Adds the specified `Point` to this `Rectangle`. The resulting `Rectangle` is the smallest `Rectangle` that contains both the original `Rectangle` and the specified `Point`.

  After adding a `Point`, a call to `contains` with the added `Point` as an argument does not necessarily return `true`. The `contains` method does not return `true` for points on the right or bottom edges of a `Rectangle`. Therefore if the added `Point` falls on the right or bottom edge of the enlarged `Rectangle`, `contains` returns `false` for that `Point`.

  Parameters:
    `pt` - the new `Point` to add to this `Rectangle`

### add

    public void add(Rectangle r)

  Adds a `Rectangle` to this `Rectangle`. The resulting `Rectangle` is the union of the two rectangles.

  Parameters:
    `r` - the specified `Rectangle`

### grow

    public void grow(int h,
                     int v)

  Resizes the `Rectangle` both horizontally and vertically.

  This method modifies the `Rectangle` so that it is `h` units larger on both the left and right side, and `v` units larger at both the top and bottom.

  The new `Rectangle` has (`x - h`, `y - v`) as its top-left corner, a width of `width` `+` `2h`, and a height of `height` `+` `2v`.

  If negative values are supplied for `h` and `v`, the size of the `Rectangle` decreases accordingly. The `grow` method does not check whether the resulting values of `width` and `height` are non-negative.

  Parameters:
    `h` - the horizontal expansion
    `v` - the vertical expansion

### isEmpty

    public boolean isEmpty()

  Determines whether or not this `Rectangle` is empty. A `Rectangle` is empty if its width or its height is less than or equal to zero.

  Specified by:
    `isEmpty` in class `RectangularShape`
  Returns:
    `true` if this `Rectangle` is empty; `false` otherwise.

### outcode

    public int outcode(double x,
                       double y)

  Determines where the specified coordinates lie with respect to this `Rectangle`. This method computes a binary OR of the appropriate mask values indicating, for each side of this `Rectangle`, whether or not the specified coordinates are on the same side of the edge as the rest of this `Rectangle`.

  Specified by:
    `outcode` in class `Rectangle2D`
  Returns:
    the logical OR of all appropriate out codes.
  Since:
    1.2
See Also:
  `Rectangle2D.OUT_LEFT`, `Rectangle2D.OUT_TOP`, `Rectangle2D.OUT_RIGHT`, `Rectangle2D.OUT_BOTTOM`

### createIntersection

    public Rectangle2D createIntersection(Rectangle2D r)

  Returns a new `Rectangle2D` object representing the intersection of this `Rectangle` with the specified `Rectangle2D`.

  Specified by:
    `createIntersection` in class `Rectangle2D`
  Parameters:
    `r` - the `Rectangle2D` to be intersected with this `Rectangle`
  Returns:
    the largest `Rectangle2D` contained in both the specified `Rectangle2D` and in this `Rectangle`.
  Since:
    1.2

### createUnion

    public Rectangle2D createUnion(Rectangle2D r)

  Returns a new `Rectangle2D` object representing the union of this `Rectangle` with the specified `Rectangle2D`.

  Specified by:
    `createUnion` in class `Rectangle2D`
  Parameters:
    `r` - the `Rectangle2D` to be combined with this `Rectangle`
  Returns:
    the smallest `Rectangle2D` containing both the specified `Rectangle2D` and this `Rectangle`.
  Since:
    1.2

### equals

    public boolean equals(Object obj)

  Checks whether two rectangles are equal.

  The result is `true` if and only if the argument is not `null` and is a `Rectangle` object that has the same top-left corner, width, and height as this `Rectangle`.

  Overrides:
    `equals` in class `Rectangle2D`
  Parameters:
    `obj` - the `Object` to compare with this `Rectangle`
  Returns:
    `true` if the objects are equal; `false` otherwise.

### toString

    public String toString()

  Returns a `String` representing this `Rectangle` and its values.

  Overrides:
    `toString` in class `Object`
  Returns:
    a `String` representing this `Rectangle` object's coordinate and size values.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.